rewrote game, modularising game, graphics, input, world engines