puppet first pass