new style first pass