use inherited thread local to store session