Add validations, secure password, tests to User