Macros

The macro-system will be merged in master.