Revert "Revert "Revert "new puts"""

This reverts commit fbb98a214fe740cae4cc1711ae2964cc05350c49.
Revert "Revert "Revert "Revert "new puts""""

This reverts commit a04da93d7d23c163ac38474a8138891573e3eabc.