Modified macros & lookup table
Add some tests