refactor, smart default provider name