original commit
Merge https://github.com/jd8001/LPPL