first cleanup iteration, what a mess!