refactoring of PXM