separated client from server