userdao refactoring