make sure we can update the structure in cases like the filter function