Rework (wip) simpler and not dedicated to a predefined hierarchy
pending
filtering + polishing