Cleanup, far from perfect