user with validation and authenticaiton