Refactore Data Source