added new pmode solver