add tests for order of operations