SOM primitive version