implemented basic GameEngine workflow