game layer refactoring