use the property of traverse