data source - parse refactoring