almost finished with thread hell