separating client from server