add constr variable in factory method
merge with no-ff