dao refactor:v2