construct basic block part 2 (correcting mistakes)