a few changes to reflect the differences between p and puts