bugfix, add line number
add class Location
use location instead of column
revise syntax