it could be host of different part/s malfunction. as suggested
the OVP is a good start, the idle control valve is also a
candidate and so is the temperature sensor. vacuum leaks
could also trigger erratic behaviour. the oxygen sensor
should definitely be checked or replaced.
the cheapest way is to visit a trusted mechanic and hopefully
he could identify the culprit. good luck, cheers!