In order to make this generalizable for other applications outside SNAP, need to formally define the terms that appear throughout the code. For instance, what is an XFind with regards to the makeup of an assemblage? What does level2 and level3 mean, and why is there no level1 yet?