changed dao implementation