reduce first attempt passes but ugly - ignore
re-factor (understand the answer)