Refactor input providers