add some callback functions and derived conditional branch class.