The idea of adding filters was from @griffpatch's tutorial about binary scanning (at the end of the video).