temp1
fix private function