Added a lot more comments, stored everything in arrays for easy access