primitive, hfsolve merged