diff --git a/source/dev-mail.md b/source/dev-mail.md
index fcfc1ef..c265b7d 100644
--- a/source/dev-mail.md
+++ b/source/dev-mail.md
@@ -11,38 +11,17 @@
 
 Please make sure you have read the guidelines on [this page](mail)
 
-<table>
-    <tr>
-        <th>Name</th>
-        <th>Subscribe</th>
-        <th>Unsubscribe</th>
-        <th>Description</th>
-    </tr>
-    <tr>
-        <td><a href="https://lists.apache.org/list.html?dev@struts.apache.org">Struts-Dev</a></td>
-        <td><a href="mailto:dev-subscribe@struts.apache.org?subject=subscribe&amp;body=subscribe">subscribe</a></td>
-        <td><a href="mailto:dev-unsubscribe@struts.apache.org?subject=unsubscribe&amp;body=unsubscribe">unsubscribe</a></td>
-        <td>Contact other developers interested in expanding and improving Struts functionality.</td>
-    </tr>
-    <tr>
-        <td><a href="https://lists.apache.org/list.html?commits@struts.apache.org">Struts-Commits</a></td>
-        <td><a href="mailto:commits-subscribe@struts.apache.org?subject=subscribe&amp;body=subscribe">subscribe</a></td>
-        <td><a href="mailto:commits-unsubscribe@struts.apache.org?subject=unsubscribe&amp;body=unsubscribe">unsubscribe</a></td>
-        <td>Receive notifications of changes to the Struts source code repository.</td>
-    </tr>
-    <tr>
-        <td><a href="https://lists.apache.org/list.html?issues@struts.apache.org">Struts-Issues</a></td>
-        <td><a href="mailto:issues-subscribe@struts.apache.org?subject=subscribe&amp;body=subscribe">subscribe</a></td>
-        <td><a href="mailto:issues-unsubscribe@struts.apache.org?subject=unsubscribe&amp;body=unsubscribe">unsubscribe</a></td>
-        <td>Receive notifications from the Struts issue tracker.</td>
-    </tr>
-</table>
+| Name                                                                                       | Subscribe                                                                                          | Unsubscribe                                                                                                | Description                                                                          |
+|--------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
+| [Struts Devolopers](https://lists.apache.org/list.html?dev@struts.apache.org)              | [subscribe](mailto:dev-subscribe@struts.apache.org?subject=subscribe&amp;body=subscribe)           | [unsubscribe](mailto:dev-unsubscribe@struts.apache.org?subject=unsubscribe&amp;body=unsubscribe)           | Contact other developers interested in expanding and improving Struts functionality. |
+| [Struts Commits](https://lists.apache.org/list.html?commits@struts.apache.org)             | [subscribe](mailto:commits-subscribe@struts.apache.org?subject=subscribe&amp;body=subscribe)       | [unsubscribe](mailto:commits-unsubscribe@struts.apache.org?subject=unsubscribe&amp;body=unsubscribe)       | Receive notifications of changes to the Struts source code repository.               |
+| [Struts Issues](https://lists.apache.org/list.html?issues@struts.apache.org)               | [subscribe](mailto:issues-subscribe@struts.apache.org?subject=subscribe&amp;body=subscribe)        | [unsubscribe](mailto:issues-unsubscribe@struts.apache.org?subject=unsubscribe&amp;body=unsubscribe)        | Receive notifications from the Struts issue tracker.                                 |
+| [Struts Notifications](https://lists.apache.org/list.html?notifications@struts.apache.org) | [subscribe](mailto:notifications-subscribe@struts.apache.org?subject=subscribe&amp;body=subscribe) | [unsubscribe](mailto:notifications-unsubscribe@struts.apache.org?subject=unsubscribe&amp;body=unsubscribe) | Receive notifications from Github PRs & comments related to the Struts               |
 
-You can use a web interface as well if you want to post a question [https://lists.apache.org/](https://lists.apache.org/list.html?dev@struts.apache.org)
+You can use a web interface as well if you want to post a  question [https://lists.apache.org/](https://lists.apache.org/list.html?dev@struts.apache.org)
 {:.alert .alert-success}
 
 # Archives
 
-You can read the [ASF Mail](http://mail-archives.apache.org/mod_mbox/struts-dev/) or the
-[Mark Mail](http://markmail.org/list/org.apache.struts.dev/) archives if you are looking for older discussions.
+You can read the [ASF Mail](http://mail-archives.apache.org/mod_mbox/struts-dev/) or the [Mark Mail](http://markmail.org/list/org.apache.struts.dev/) archives if you are looking for older discussions.
 There are many other archives out there as well.
