reworked expressions, went from around 100 lines to 18...