prepare higher-order constrains