update primitives