added first pass