using TPl for cross-loop