if and trig. Fixes #4. Fixes #5