Complete - task : refactor macro mechanic