improving proof generator