finish meta programming exercise