file-scope fun