the substitutions + templating seems reasonably powerfull, let's see how far we get without custom-made specific things.