cache last layer filter and only apply new layer filters that change