the parser could be not only a function, buy also a string
add a priority rule