should be able to parse -x^2 as -(x^2) but can't handle x+-y