Go for simple approach.
Start on new hierarchy implementation.
Do all matching of hierarchy in the provider.