refactoring for the provers