better swap