should use `self::$tmpDir` here instead of `sys_get_temp_dir`