client / server separation