single and multiplayer fully implemented