add finite primitives
implement BIH construction