Revert "Revert "new puts""

This reverts commit 0f4d7de5f529dd86baaa419e942f0e73c1d48ed6.