filtering now keeps all nodes below node matching the check