base macro working