base server and client