further reorgs of code to different jars for later splitting out of TH
further reorgs of code to different jars for later splitting out of TH