generalized basic blocks to fragments