Add swap macro