add ruby meta programming