lots of new, more rigorous and typed tests