a lot more cleanup