call is a private function