completed basics for a game engine