basic swap support