refactoring DaoFactory, ...