macro fix + an explanation