Less messy than the first series so some of these v2 patches are patches squashed together from the first version. Functionality is largely the same as in the first set of patches, but the APIs have been cleaned up Cheers, Peter