refactor primitives