-most of the thread work done