make file io async