added structures and classes for processing