first working pass