maybe support cross thread inlining