refactor, add tests, update readme.

Should now produce expected results on all tests.
sure :-)  `collaborators`? I don't think `authors` is a valid field is it?