try new put engine
fix bugs
Merge branch 'simplify'