functional multiplayer... still needs work