Change how we implement allowed? and exists?