pulled from TH updates