start of new crossthread-safe design