lots more unit tests and a few new functions