Changing parts based on codes is an excercise in futility Codes for anything can be caused by 20 other issues and without the ability to observe real time actions of systems and sensors, you can waste a lot of money and time. The code readers just don't give enough background info 08 and up anything get a lot more complicate than even 07 models Brakes are not even as simple as they use to be, many require an automated bleed after pad replacement to have a good pedal. It's getting crazy.
You could have a catalist, mass air flow, intake leak, ground, egr, 02 sensor, accelerator pedal, vacuum leak, security system, ignition switch, injector, icm, bcm, etc kinda problem.
You'll save a lot of headache getting it on a instant data type scanner and then you can start making educated guesses.