+ abstract pm extension