added to repo as necessary private function