lots of new tests and minor bug fixes