I tried to simplify it, I really did, but it seems without the redundancy in place I was experiencing bothersom bugs. This I suppose is a full checks and balance system. I am sure there is a more simplistic way but I could not get one to work for what I needed.