controls the non-visual side of the game