if changes to dependencies happen have to be sure we update them
that should do the trick
added recurse walk to build file list
changed files array to map, and grouped by size index

removed size from file blobs to reduce complexity
changed from FileBlob to File