add public function