modifying client-server model