cleanup
much smarter