blocks and semicolon rules