trig by functions