working on rewriting operator precedence