The first draft
Merge https://github.com/stumposs/DP