refactors provenance so that it needs enabling via config