control flow revived. revive bmc todo