refactored to new ducktype method, renamed serviceprovdier to servicesprovider