Added comments throughout project so I can understand what I'm doing