why not use the primitive?