allow overriding auto generated functions