game engine update
refactoring