refactor pm weighting to be easier to adjust