add swap() func