add lots of test coverage.
refactor to generate thread list views more efficiently.