Add support for swap
Fix
Add support for expression as instruction
Add support for switch