added observers instead of remote calls