packages from different providers may have different hierarchy in their directory structure. We should find an approach to handle this.