Refactored inputSources interface