separating graphics engine from game engine (WIP)