delete metaprogramming