dynamic method creation to access abilities