refactoring datasource items