created generic dao implementation