Is there a real difference in meaning between re-writing and re-factoring?