split into client and server, multiple projects
working