pattern evaluation