Falta a ultima parte da metaprogramming