server and client skeletons