tweak some stuff, still not working
start abstracting out logic into a multiplayer module