implements swap handling (adding, removing, taking, accept/denying)