Swap: some design changes