refactored abilities for legibility