some more work on threadlocal