support multiple named defines, experimental