allow overriding applyTransform