swap, initialize