modify to introduce WHEN, UNLESS, BLOCK and IF subroutine macros and make them used