base client + server