added bounding box support and abstracted geometry and export classes