implemented DAOFactory