Initial commit
Initial commit; split off some functions from other modules
General refactoring work took place in the server code and some on the client side to accomodate server changes