All the non refactoring based objectives are done, the print methods have been drastically changed to increase readbility.