Checkpoint
Cleanup
Cleanup with some new helper methods
Decoupled classes from each other and implemented new structure
Decoupled classes from each other and implemented new structure