refactor game to include multiple methods and separate concerns