made operators be separate functions