cleanup pass 1