using an Operator struct