versions. Thanks to Chris Demetrious and Paul Krannenburg for the initial work towards merging the two.