proof refactor