added user validations and user tests