DAL refactoring