pmx implementation