SRESI's basic idea is to treat tags and folders equivalently. Going from a hierarchical structure to a tagged one is easy enough: we register each folder as a tag as we parse the tree. To allow for denser trees, SRESI can concatenate several tags in one directory, separating them with a comma. Going the other way implies deducing the hierarchy from a flat list. This is a recursive process. At each level, we try and find the roots of the tree's local branches. A tag is a root if it is not locally subordinate to any other tag. Being subordinate means, there is at least one other tag marking all the failed candidate's bookmarks, plus one. To facilitate the process, it is possible to explicitly declare hints, pre-ordained hierarchies. A hint is a parent tag and its descendants. Each time a parent is a root, each of its descendant present will have its own branch. Other branchess will only be created if there are still enough bookmarks free from any of the hint's descendants, and only from those. There is currently no distinction between hint-mandated branches and free ones: this will very probably change. A SRESI tag can be almost anything: the only forbidden characters are commas and vertical bars, which are used in the interface or in storage formats. They should be allowed, escaped: this is still on the TODO list.