changes to allow subclassing for HP extentions