support for code spanning multiple blocks