Refactored code, added snapshot feature and display methods
Finished documentation and added some display functions