initial
second pass