added generic indicatorDef + derived function