Optimizations

Added optimizations to forward and background call of Macro.py
This will be felt mostly when you have over 100 relations