updated macro