you can no longer call exit/sub from within a block using @sub, @exit. it was too fragile. only option available is to use the global freeform functions ftree.sub and ftree.exit