add a reference to where some of the details came from.
actually fix the tests this time, rather than just commenting out the functions that broke the tests.