Everything should be done for the server. Still needs a lot of testing though and I'll get started on adding comments and explanations of how this all works.