registration with validation and new public method user_exist_in_db