Added comments, changed organization, working on more tests