added user validation and tests
add secure password to user model