0. fixed OPM.Mark bug, now when pos = -1 it shows error correctly.
1. added cool error message handling with showing "^" under the line
which points exactly where the error is.