Refactor new-fact