a lot of cleanup. This should be sufficient and it works