As already said, first step is to check the timing, second step get it scanned for fault codes, see what that throws up and take it from there.
I had this problem a while ago on mine and it turned out to be the hall sensor. Replaced the dizzy and sensor and problem solved
