Implement PIC