new ExpressionLevel calculation now compiles. Still needs verification if it is indeed better