diff swap