add operator overrides and sin, cos