Split server and client files.
Make client and server two separate packages.
Update code for new structure and api.