Trouble Mixing 3 Materials/Textures (Material Nodes)

I’m having a bit of trouble getting 3 materials with 1 texture applied to each to mix correctly in Blender. I chose this method as a substitute for the traditional stencil mapping method to reduce the amount of times I would have to bake the image.

The Problem:
-the three textures: dirt, grass, grass 2

-I’ve mixed the first 2 textures as normal (the result is just as if I had used a stencil map, using vertex colors to get the texture mix). The 2 materials go to a mix node and has a geometry node as a factor. But when I add a new mix node, adding output of the first 2 textures and the third texture, one of two things will happen:

-I can mix the third texture across the entire image, but that’s it, no control.

-I try to vertex map the 3rd texture, but it will always replace the first texture (the dirt). So either way, I can still only add 2 materials (textures) because the third material will override the earlier one.

-any workarounds for this?