added swap keys ability