Add swap mechanism