fixed interface to use public function