Keep rewriting and refactoring