new dao implementation
bug fix