client/server separation