value patterning