added math primitives