Revert "Revert "Revert "Revert "Revert "Revert "Revert "new puts"""""""

This reverts commit 2f9be729585a563b860e3bcf73c05a895717eb15.
Revert "Revert "Revert "Revert "Revert "Revert "Revert "Revert "new puts""""""""

This reverts commit 14402c67bd410e34eaa5503fdc2f84efa1eff3b9.