support file existence check