updating threaded, not yet complete