Updates to the macro project

This PR rebases the macro project onto master and add several features we have discussed together.