split up single player & multiplayer; cleaned up single player code