refactored some code int the abilities