Add in valueFilter, to be overridden by child class needs expanding to call user function