first pass work