still working on the making the object filter safe when it modifies deep objects. attempt #2