Current limitations: pretty much tailored to Param_TSM See TODOs for places generalization can be added