some refactoring to the abilities (to be continued)