1. broke main.cpp into smaller files by class functions
   to be more readable