adding abstractdao