implement hide-if-empty