Implement Ability Exchange