implemented the interface for the service provider