Major refactoring update, split project into server, client, test
Major refactoring update