chwaga #1 on your first method (not the data one) how should I make the code-generator (with a potentially-forever-expanding-hiarchy)