non-static function creates a warning