how to understand big chanks of code