Refactor to BinaryExpression