start on readding threading