pm implemented