undo last change
diff --git a/extensions/ebt_802_3.c b/extensions/ebt_802_3.c
index 181c7ae..953a115 100644
--- a/extensions/ebt_802_3.c
+++ b/extensions/ebt_802_3.c
@@ -32,7 +32,6 @@
 
 	info->invflags = 0;
 	info->bitmask = 0;
-	match->version = VERSIONIZE(1,0);
 }
 
 static int parse(int c, char **argv, int argc, const struct ebt_u_entry *entry,
diff --git a/extensions/ebt_arp.c b/extensions/ebt_arp.c
index 3e86419..a4a4105 100644
--- a/extensions/ebt_arp.c
+++ b/extensions/ebt_arp.c
@@ -69,7 +69,6 @@
 
 	arpinfo->invflags = 0;
 	arpinfo->bitmask = 0;
-	match->version = VERSIONIZE(1,0);
 }
 
 /* defined in ebt_ip.c */
diff --git a/extensions/ebt_ip.c b/extensions/ebt_ip.c
index 618e7ec..1e1504c 100644
--- a/extensions/ebt_ip.c
+++ b/extensions/ebt_ip.c
@@ -230,7 +230,6 @@
 
 	ipinfo->invflags = 0;
 	ipinfo->bitmask = 0;
-	match->version = VERSIONIZE(1,0);
 }
 
 #define OPT_SOURCE 0x01
diff --git a/extensions/ebt_log.c b/extensions/ebt_log.c
index 18ac5dc..3c2409f 100644
--- a/extensions/ebt_log.c
+++ b/extensions/ebt_log.c
@@ -87,7 +87,6 @@
 	loginfo->bitmask = 0;
 	loginfo->prefix[0] = '\0';
 	loginfo->loglevel = LOG_NOTICE;
-	watcher->version = VERSIONIZE(1,0);
 }
 
 #define OPT_PREFIX 0x01
@@ -177,15 +176,15 @@
 
 static struct ebt_u_watcher log_watcher =
 {
-	.name		= EBT_LOG_WATCHER,
-	.size		= sizeof(struct ebt_log_info),
-	.help		= print_help,
-	.init		= init,
-	.parse		= parse,
-	.final_check	= final_check,
-	.print		= print,
-	.compare	= compare,
-	.extra_ops	= opts,
+	EBT_LOG_WATCHER,
+	sizeof(struct ebt_log_info),
+	print_help,
+	init,
+	parse,
+	final_check,
+	print,
+	compare,
+	opts
 };
 
 static void _init(void) __attribute__ ((constructor));
diff --git a/extensions/ebt_mark.c b/extensions/ebt_mark.c
index 0b6da74..8696348 100644
--- a/extensions/ebt_mark.c
+++ b/extensions/ebt_mark.c
@@ -32,7 +32,6 @@
 	markinfo->target = EBT_ACCEPT;
 	markinfo->mark = 0;
 	mark_supplied = 0;
-	target->version = VERSIONIZE(1,0);
 }
 
 #define OPT_MARK_TARGET   0x01
diff --git a/extensions/ebt_mark_m.c b/extensions/ebt_mark_m.c
index 073dac8..4fdc41d 100644
--- a/extensions/ebt_mark_m.c
+++ b/extensions/ebt_mark_m.c
@@ -28,7 +28,6 @@
 	markinfo->mask    = 0;
 	markinfo->invert  = 0;
 	markinfo->bitmask = 0;
-	match->version = VERSIONIZE(1,0);
 }
 
 #define OPT_MARK 0x01
diff --git a/extensions/ebt_nat.c b/extensions/ebt_nat.c
index 7a32def..c627714 100644
--- a/extensions/ebt_nat.c
+++ b/extensions/ebt_nat.c
@@ -50,7 +50,7 @@
 
 	to_source_supplied = 0;
 	natinfo->target = EBT_ACCEPT;
-	target->version = VERSIONIZE(1,0);
+	return;
 }
 
 static void init_d(struct ebt_entry_target *target)
diff --git a/extensions/ebt_pkttype.c b/extensions/ebt_pkttype.c
index e0de38d..e129996 100644
--- a/extensions/ebt_pkttype.c
+++ b/extensions/ebt_pkttype.c
@@ -46,7 +46,6 @@
 	struct ebt_pkttype_info *pt = (struct ebt_pkttype_info *)match->data;
 
 	pt->invert = 0;
-	match->version = VERSIONIZE(1,0);
 }
 
 static int parse(int c, char **argv, int argc, const struct ebt_u_entry *entry,
diff --git a/extensions/ebt_redirect.c b/extensions/ebt_redirect.c
index bfa5380..d74d46d 100644
--- a/extensions/ebt_redirect.c
+++ b/extensions/ebt_redirect.c
@@ -25,7 +25,7 @@
 	   (struct ebt_redirect_info *)target->data;
 
 	redirectinfo->target = EBT_ACCEPT;
-	target->version = VERSIONIZE(1,0);
+	return;
 }
 
 #define OPT_REDIRECT_TARGET  0x01
diff --git a/extensions/ebt_vlan.c b/extensions/ebt_vlan.c
index e95a79d..f7bec62 100644
--- a/extensions/ebt_vlan.c
+++ b/extensions/ebt_vlan.c
@@ -76,6 +76,10 @@
 
 struct ethertypeent *ethent;
 
+/*
+ * Print out local help by "ebtables -h <match name>" 
+ */
+
 static void print_help()
 {
 #define HELP_TITLE "802.1Q VLAN extension"
@@ -93,19 +97,33 @@
 	       OPT_VLAN_FLAGS & OPT_VLAN_ENCAP ? "[!] " : "");
 }
 
+/*
+ * Initialization function 
+ */
 static void init(struct ebt_entry_match *match)
 {
 	struct ebt_vlan_info *vlaninfo =
 	    (struct ebt_vlan_info *) match->data;
-
+	/*
+	 * Set initial values 
+	 */
 	vlaninfo->id = 1;	/* Default VID for VLAN-tagged 802.1Q frames */
 	vlaninfo->prio = 0;
 	vlaninfo->encap = 0;
 	vlaninfo->invflags = 0;
 	vlaninfo->bitmask = 0;
-	match->version = VERSIONIZE(1,0);
 }
 
+
+/*
+ * Parse passed arguments values (ranges, flags, etc...)
+ * int c - parameter number from static struct option opts[]
+ * int argc - total amout of arguments (std argc value)
+ * int argv - arguments (std argv value)
+ * const struct ebt_u_entry *entry - default ebtables entry set
+ * unsigned int *flags -
+ * struct ebt_entry_match **match - 
+ */
 static int
 parse(int c,
       char **argv,
@@ -166,6 +184,9 @@
 	return 1;
 }
 
+/*
+ * Final check - logical conditions
+ */
 static void
 final_check(const struct ebt_u_entry *entry,
 	    const struct ebt_entry_match *match,
@@ -201,6 +222,9 @@
 	}
 }
 
+/*
+ * Print line when listing rules by ebtables -L 
+ */
 static void
 print(const struct ebt_u_entry *entry, const struct ebt_entry_match *match)
 {