hide blocklist types, move matching into separate module, remove manual iteration