gmc: structures to hold the inputs