seperated client and server