[extension] metaprogramming, how does it work?