Extract and Extend Macro

check out the wip