Adding Generic dao implementation