this is a framwork for blk device with async operation