start simplifying refactor