edited genericdao