cleanup + tests