breaking out game logic into seperate class files to clean up project