finished implementing operators