modified ability.rb