only compile to pir