add primitive proc