reworking the ability model so that the app isn't confused