Update swap. Should work now, but no tests