added structures for program definitions.