Your code is really easy to follow and very organized, 
especially with the comments on the side