abstract away M1PW