Might be a timing issue? How long since a tune-up? Use a gage and check fuel pressure. Also, check for mil codes, you can check those codes yourself. You use a jumper wire between the A and B terminals at the datalink connector, aldl. Turn key just till dash lites come on, no crank, then the mil starts flashing, you count the flashes to get the codes. Your looking for two digit codes.