use async file read