the filter listener should probably still be called in the loop