added sharing; refactoring of services to use RPCResult response;