This is the code that Tony Mack merged into trunk. Wanted to get a tag of it before...