static function (not function)