final file io