handled aliasing with an additional pass