attempt to add taxonomy tree abstraction