Added productShape - trying to have each productType as a subclass of anyProduct...but not there yet as some analysis interweaves the output between generalProductStuff and specialProductStuff