includes cleanup, 1st pass