Rewrite, refactor, or reinvent? | Herb Caudill