changed implementation to use extra_credentials and not effect clients