release 0/5 review driver test code
release 1/5 pseudocode
release 2/5 write initial solution - all tests pass
release 3/5 refactor
release 5/5 reflect and push to github