register primitives