fixed private function