Add comment explaining algorithm
Fix complexity mistake

Oops, I really thought this was a fix that I'd already done before the pull request earlier.
Refactor and make work

It was a one character typo that was causing the tests to fail ([1:] vs.
[:1])

More readable and tested.
Merge pull request #2 from cayennes/explanation

Add comment explaining algorithm
merge changes
add BOOKKEEPER and QUESTION tests