Finished chap 9 -- simplify conditionals with OO approach