Tyler Breland: Dinodex solution r1

revision from Dan Schepers code review
`operation` is a questionable method name. it's hard to understand what it does. See if you can simplify the cases here a bit, I think you're working too hard on this one.