implement basic block placing/breaking