intro refactoring dao