moved some TPL logic to preprocess

I think I have a hang on it!