move the normalizing logic to the public function