add method swap