re-writing game logic, now independent from rendering engine/library