optimize with async block data tranfer.