added DelegateProviderFactory.class + test
implemented all tests