cleanup + major changes