major clean-up, everything works