we're not using $window
add error handling.
add user dao testing