WIP separated classes into files and created printer