add service cache to discovery- change instance and instances to be multi-methods to work with different providers