bugfix: always evaluate left to right