Changed evaluate function to use a stack
Added a stack for parentheses