general refactor done, more work done on server side now. Client side should do almost nothing except control/render.