add user validations and password digest