diff --git a/address_utils/address_utils.go b/address_utils/address_utils.go
index b90563d946ed467dffef1b931563f8140c647c3c..fe88590f2fa3e7597985a5c1a2d5b386ce3c90eb 100644
--- a/address_utils/address_utils.go
+++ b/address_utils/address_utils.go
@@ -74,6 +74,7 @@ var Provinces = map[string]Province{
 		Names: []string{
 			"NT",
 			"NL",
+			"ZN",
 			"KwaZulu-Natal",
 			"KwaZulu Natal",
 			"iKwaZulu-Natal",
@@ -240,7 +241,9 @@ func CleanZone(countryToClean, zoneToClean *string) (newCountry, newZone *string
 
 		for provinceCode, province := range Provinces {
 			for _, name := range province.Names {
-				zone = string_utils.ReplaceCaseInsensitive(zone, name, provinceCode)
+				if zone == name {
+					zone = string_utils.ReplaceCaseInsensitive(zone, name, provinceCode)
+				}
 			}
 		}
 
diff --git a/bob_box_utils/bob_box_utils.go b/bob_box_utils/bob_box_utils.go
new file mode 100644
index 0000000000000000000000000000000000000000..1fb51b9241839102854e91981ea581cf5ae7ca4c
--- /dev/null
+++ b/bob_box_utils/bob_box_utils.go
@@ -0,0 +1,39 @@
+package bob_box_utils
+
+import "sort"
+
+type ParcelDimensions struct {
+	Height float64 `json:"height"`
+	Width  float64 `json:"width"`
+	Length float64 `json:"length"`
+}
+
+// GetStackedParcelDimensions sorts the parcels so and stacks them
+func GetStackedParcelDimensions(parcels []ParcelDimensions) ParcelDimensions {
+	var totalParcelHeight, maxParcelWidth, maxParcelLength float64
+	// Stack the parcels
+	for _, parcel := range parcels {
+		parcelHeight, parcelWidth, parcelLength := SortDimensionsInIncreasingOrder(parcel.Height, parcel.Width, parcel.Length)
+
+		// To stack, sum all the heights
+		totalParcelHeight += parcelHeight
+
+		// Get the max width
+		if parcelWidth > maxParcelWidth {
+			maxParcelWidth = parcelWidth
+		}
+
+		//Get the max length
+		if parcelLength > maxParcelLength {
+			maxParcelLength = parcelLength
+		}
+	}
+	return ParcelDimensions{totalParcelHeight, maxParcelWidth, maxParcelLength}
+}
+
+// SortDimensionsInIncreasingOrder sorts the given dimensions in increasing order
+func SortDimensionsInIncreasingOrder(dim1, dim2, dim3 float64) (float64, float64, float64) {
+	dims := []float64{dim1, dim2, dim3}
+	sort.Float64s(dims)
+	return dims[0], dims[1], dims[2]
+}