completed solution
pseudocode, first pass
initial solution
refactor
reflection completed