diff --git a/R/remove_column.R b/R/remove_column.R
index aac4b9b..3bff2f1 100644
--- a/R/remove_column.R
+++ b/R/remove_column.R
@@ -87,39 +87,6 @@
         # not very efficient but for finite task it's probably okay
         columns <- (columns - 1)[-1]
     }
-
-    # head_row <- xml2::xml_child(kable_thead, xml2::xml_length(kable_thead))
-    # ncols <- xml2::xml_length(head_row)
-    # body_nrows <- xml2::xml_length(kable_tbody)
-    #
-    # rowspan = matrix(1, nrow = body_nrows, ncol=ncols)
-    # for(i in 1:body_nrows){
-    #     target_row <- xml2::xml_child(kable_tbody, i)
-    #     target_ncols <- xml2::xml_length(target_row)
-    #     for(j in 1:target_ncols){
-    #         target_cell <- xml2::xml_child(target_row, j)
-    #         span <- as.numeric(xml2::xml_attr(target_cell, "rowspan"))
-    #         span[is.na(span)] <- 0
-    #         if(span>0){
-    #             rowspan[i,j]=1
-    #             rowspan[i+seq(from=1, to=span-1),j]=0
-    #         }
-    #     }
-    # }
-    #
-    # for(i in 1:body_nrows){
-    #     target_row <- xml2::xml_child(kable_tbody, i)
-    #     for(j in rev(columns)){
-    #         target_cell <- xml2::xml_child(target_row, j)
-    #         if(rowspan[i,j]==1)
-    #         xml2::xml_remove(target_cell)
-    #     }
-    # }
-    #
-    # for(j in columns){
-    #     target_cell_head <- xml2::xml_child(head_row, j)
-    #     xml2::xml_remove(target_cell_head)
-    # }
     out <- as_kable_xml(kable_xml)
     attributes(out) <- kable_attrs
     if (!"kableExtra" %in% class(out))
diff --git a/inst/NEWS.md b/inst/NEWS.md
index bc7140e..2a75d00 100644
--- a/inst/NEWS.md
+++ b/inst/NEWS.md
@@ -21,9 +21,13 @@
 
 * Fixed a bug with `collapse_rows` when text is too long. (#464)
 
+* Added a new function `remove_column` for html. The latex part hasn't been 
+implemented yet. (#490, thanks @DanChaltiel)
 
 
-kableExtra 1.1.0
+
+kableExtra ]
+1.1.0
 --------------------------------------------------------------------------------
 
 # Major Changes
