OO redesign, lots more features.