implemented some of the operator