add generic dao