add provider and adapters