added support for IR constraints
Remaining changes