added threadsafestatic, sharedqueue, and conditionvariable