async data reading fixed