separate client and server init