- need to redo threads