added basic block framework