updated macro api