primitive form of #119