DAO more generic
generic DAO finished