server-client foundation