pass 1 almost done