mpa implementation