Refactoring the data source implementation.