response by command instead of by thread (ThreadLocal)