P0016 tends to be the timing of the crank shaft positions not in their respective correct places once the engine is running. The car is in essence trying to stop the engine running to reduce damage to the engine.
Could be a few reasons;
- Crankshaft position sensor failing, after clearing error codes and again re-appears then you'll need a more comprehensive scanner tool if you know what you're doing or a second opnion from a mechanic.
OR if the timing is actually out then;
-Stretched/ worn timing belt/chain
-Incorrectly installed timing belt/chain
~Alex