refactoring to parameter sources