our function now inherits from functionBase rather than explicit function, with @chaubold