add and fix macro