user and auth user logic and validations