revisions can be injected externally. otherwise there is no revision system