http://ippsr.msu.edu/MPLP/mplp.html