Threading complete

Just needs fine tuning