functions for decendant filtering done