change some public function to private function