diff --git a/main.go b/main.go
index 1e3e21a..ebd3549 100644
--- a/main.go
+++ b/main.go
@@ -369,6 +369,12 @@ func DownloadAndProcessEpub(jnovel jnc.Api, serie jnc.SerieAugmented, volume jnc
 
 				zipPath := basePath + "Chapter " + chap.chDisplay + ".cbz"
 
+				if _, err = os.Stat(zipPath); err != nil {
+					err := os.Remove(zipPath)
+					if err != nil {
+						return
+					}
+				}
 				newZipFile, err := os.Create(zipPath)
 				if err != nil {
 					panic(err)
@@ -421,7 +427,7 @@ func DownloadAndProcessEpub(jnovel jnc.Api, serie jnc.SerieAugmented, volume jnc
 					}
 				}
 
-				comicInfo, err := GenerateChapterMetadata(volume, serie, len(chap.pages), language)
+				comicInfo, err := GenerateChapterMetadata(volume, serie, len(chap.pages), language, chap.chDisplay)
 				if err != nil {
 					fmt.Println(err)
 				}
@@ -434,8 +440,8 @@ func DownloadAndProcessEpub(jnovel jnc.Api, serie jnc.SerieAugmented, volume jnc
 				epub.Close()
 				newZip.Close()
 				newZipFile.Close()
-				os.Remove(file)
 			}
+			os.Remove(file)
 		}
 	case "novel":
 		{
@@ -536,7 +542,7 @@ func DownloadAndProcessEpub(jnovel jnc.Api, serie jnc.SerieAugmented, volume jnc
 	}
 }
 
-func GenerateChapterMetadata(volume jnc.VolumeAugmented, serie jnc.SerieAugmented, pageCount int, language string) ([]byte, error) {
+func GenerateChapterMetadata(volume jnc.VolumeAugmented, serie jnc.SerieAugmented, pageCount int, language string, chapterNumber string) ([]byte, error) {
 	comicInfo := ComicInfo{
 		XMLName: "ComicInfo",
 		XMLNS:   "http://www.w3.org/2001/XMLSchema-instance",
@@ -547,7 +553,9 @@ func GenerateChapterMetadata(volume jnc.VolumeAugmented, serie jnc.SerieAugmente
 	sInfo := serie.Info
 
 	comicInfo.Series = sInfo.Title
-	comicInfo.Number = vInfo.Number
+	comicInfo.Title = vInfo.Title
+	comicInfo.Number = chapterNumber
+	comicInfo.Volume = vInfo.Number
 
 	comicInfo.Count = -1 // TODO somehow fetch actual completion status
 
@@ -595,7 +603,9 @@ type ComicInfo struct {
 	XMLNS       string `xml:"xmlns,attr"`
 	XSI         string `xml:"xsi,attr"`
 	Series      string `xml:"Series"`
-	Number      int    `xml:"Number"`
+	Title       string `xml:"Title"`
+	Volume      int    `xml:"Volume"`
+	Number      string `xml:"Number"`
 	Count       int    `xml:"Count"`
 	Summary     string `xml:"Summary"`
 	Year        int    `xml:"Year"`
@@ -818,6 +828,9 @@ func GenerateMangaChapterList(navigation FileWrapper) *list.List {
 			r, _ := regexp.Compile(regex)
 			num := r.FindStringSubmatch(label)[1]
 			parse, _ := strconv.ParseInt(num, 10, 8)
+			if parse == 0 {
+				fmt.Printf("Unlikely Chapter Number Detected (0): %s/n", label)
+			}
 			lastMainChapter = int8(parse)
 			subChapter = int8(0)
 		} else {