split up main controller into main, player, and grid controllers