defining filter is not always needed, we can assume match all if no filter is given