IRR clean up: split into two libraries