because we use its' output differently in 3 places. I'm fine with it being a private function.