implement ServiceManager