working on NOResourceProtocol