adding complex mapping->transform utility, now mapping->to c support multiple variable replacement