elaborated and restricted codes