almost done now with the THR interface