Major cleanup part 2