I am down to my last nerve with this 2016 Subaru Crosstrek. There was a P0016 code that was permanent. I flushed the sludge with Molly and had the oil changed. I then replaced all four camshaft sensors, all four OCV solenoids, had the timing chains and gears changed by a very trusted mechanic (husband). Once all the repairs were made the P0021 code. I relearned the vvt values still the check engine and various other lights came right back on and it went back into limp mode. Please anyone with other ideas could help.