add IdProviderInterface