add AbstractDAOImpl