if the machine control supports it, the user may create their own custom canned cycles. as there are numbers not already used for g-codes, new canned cycle programs can be stored at these vacant locations. this may be done on the popular fanuc control with a technique referred to as "macro programming", after the fanuc macro-b language. (the term "macro programming" in this sense is distinctly different from its more common use to refer to the action of programming a macro in g-code.)