all of the platformer code is functional, now for refactoring