add Deep Iterator and containedAllElements method