threaded some of the coding, a lot of other stuff