Created classes for each case so as to reduce memory footprint
zip ready : testing required