PIC implementation