diff --git a/AUTHORS.md b/AUTHORS.md
index 8356374..066a2f6 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -1,82 +1,61 @@
-NFD Authors
-===========
+# NFD Authors
 
-NFD is an open source project started in late 2013, includes contributions
-from many people around the world, and open for new contributions from new
-volunteers.
+The following lists maintainers, primary developers, and all much-appreciated contributors to NFD in alphabetic order.
+The specific contributions of individual authors can be obtained from the git history of the [official NFD repository](https://github.com/named-data/NFD).
+If you would like to become a contributor to the official repository, please follow the recommendations in https://github.com/named-data/.github/blob/master/CONTRIBUTING.md.
 
+* Jerald Paul Abraham <https://cs.arizona.edu/~jeraldabraham>
+* ***(Maintainer)*** Alexander Afanasyev <https://users.cs.fiu.edu/~afanasyev>
+* Syed Obai Amin <http://obaidamin.weebly.com>
+* Hila Ben Abraham <https://sites.wustl.edu/hbabraham>
+* Muktadir R Chowdhury <https://github.com/alvyC>
+* Tai-Lin Chu <https://www.linkedin.com/pub/tai-lin-chu/55/5b2/669>
+* Stephanie DiBenedetto
+* Saurab Dulal <https://dulalsaurab.github.io>
+* Chengyu Fan <https://github.com/chengyu>
+* Ashlesh Gawande <https://www.linkedin.com/in/agawande>
+* Chavoosh Ghasemi <https://chavoosh.github.io>
+* Mathias Gibbens <https://calenhad.com>
+* Nick Gordon <https://github.com/gorgonical>
+* Giulio Grassi <https://www.lip6.fr/actualite/personnes-fiche.php?ident=D1461>
+* Yi Huang <https://www.linkedin.com/in/yihuang1991>
+* Spencer Lee <https://www.linkedin.com/in/spenlee>
+* Vince Lehman <http://vslehman.com>
+* Yanbiao Li <https://www.linkedin.com/pub/yanbiao-li/24/7a1/4ba>
+* Teng Liang <https://cs.arizona.edu/~philoliang>
+* Weiwei Liu <https://www.linkedin.com/in/weiweiliu10>
+* Spyridon Mastorakis <https://sites.google.com/site/spyridonmastorakis>
+* Ernest McCracken <https://github.com/emccrckn>
+* Ilya Moiseenko <https://www.linkedin.com/in/ilya-moiseenko-52884317>
+* Eric Newberry <https://ericnewberry.com>
+* Ju Pan <https://cs-jupan.com>
+* João Pereira <http://website.jpereira.co.uk>
+* Davide Pesavento <https://github.com/Pesa>
+* Felix Rabe <https://twitter.com/felixrabe>
+* Md Ashiqur Rahman <https://ashiqrahman.com>
+* Matteo Sammarco <https://www.linkedin.com/in/matteo-sammarco-9b544530>
+* Niv Sardi <http://core.evilgiggle.com>
+* Klaus Schneider <https://cs.arizona.edu/~klaus>
+* Wentao Shang <https://irl.cs.ucla.edu/~wentao>
+* Susmit Shannigrahi <https://susm.it>
+* ***(Former Maintainer)*** Junxiao Shi <https://cs.arizona.edu/~shijunxiao>
+* Yukai Tu <https://irl.cs.ucla.edu/~yukai>
+* Sebastian Wölke <https://inet.haw-hamburg.de/members/alumni-1/sebastian-woelke>
+* Yumin Xia <https://github.com/Stumble>
+* Yingdi Yu <https://irl.cs.ucla.edu/~yingdi>
+* Haowei Yuan <http://www.cse.wustl.edu/~yuanh>
+* Hang Zhang <http://netlab.bit.edu.cn/z_hang>
+* Minsheng Zhang <https://github.com/mzhang4>
+* Zhiyi Zhang <https://zhiyi-zhang.com>
+* Qi Zhao <https://web.cs.ucla.edu/~qi.zhao>
+* Wenkai Zheng <https://github.com/wenkaizheng>
 
-## Project technical leads:
+## Technical Advisors
 
-* Alexander Afanasyev <http://lasr.cs.ucla.edu/afanasyev/index.html>
-* Junxiao Shi         <http://www.cs.arizona.edu/people/shijunxiao/>
-
-
-## Technical advisors:
-
-* Beichuan Zhang      <http://www.cs.arizona.edu/~bzhang/>
-* Lixia Zhang         <http://www.cs.ucla.edu/~lixia/>
-
-
-## Main project authors and their affiliations:
-
-* University of California, Los Angeles
-
-    * Alexander Afanasyev <http://lasr.cs.ucla.edu/afanasyev/index.html>
-    * Ilya Moiseenko      <http://ilyamoiseenko.com/>
-    * Yingdi Yu           <http://irl.cs.ucla.edu/~yingdi/web/index.html>
-    * Wentao Shang        <http://irl.cs.ucla.edu/~wentao/>
-    * Lixia Zhang         <http://www.cs.ucla.edu/~lixia/>
-
-* The University of Arizona
-
-    * Junxiao Shi         <http://www.cs.arizona.edu/people/shijunxiao/>
-    * Yi Huang            <ethanhuang1991@gmail.com>
-    * Jerald Paul Abraham <http://www.cs.arizona.edu/people/jeraldabraham/>
-    * Beichuan Zhang      <http://www.cs.arizona.edu/~bzhang/>
-
-* Colorado State University
-
-    * Steve DiBenedetto     <http://www.cs.colostate.edu/~dibenede/>
-    * Chengyu Fan           <chengyu@cs.colostate.edu>
-    * Christos Papadopoulos <http://www.cs.colostate.edu/~christos/>
-
-* University Pierre & Marie Curie, Sorbonne University
-
-    * Davide Pesavento    <https://www.linkedin.com/in/davidepesavento>
-    * Giulio Grassi       <http://www.lip6.fr/actualite/personnes-fiche.php?ident=D1461>
-    * Giovanni Pau        <http://www.cs.ucla.edu/~gpau/Giovanni_Paus_Home_Page/Home.html>
-
-* Beijing Institute of Technology
-
-    * Hang Zhang          <http://netlab.bit.edu.cn/z_hang>
-    * Tian Song           <http://cs.bit.edu.cn/songtian>
-
-* Washington University in St. Louis
-
-    * Haowei Yuan         <http://www.cse.wustl.edu/~yuanh/>
-    * Hila Ben Abraham    <http://research.engineering.wustl.edu/~abrahamh/>
-    * Patrick Crowley     <http://www.arl.wustl.edu/~pcrowley/>
-
-* The University of Memphis
-
-    * Syed Obaid Amin     <http://obaidamin.weebly.com/>
-    * Vince Lehman        <vslehman@memphis.edu>
-    * Minsheng Zhang      <mzhang4@memphis.edu>
-    * Lan Wang            <http://www.cs.memphis.edu/~lanwang/>
-
-## Project contributors
-
-The following is an inevitably incomplete list of MUCH-APPRECIATED CONTRIBUTORS,
-people who have reported bugs, submitted patches, and implemented new features
-in the library:
-
-* Tai-Lin Chu             <https://www.linkedin.com/pub/tai-lin-chu/55/5b2/669>
-* Spyridon Mastorakis     <http://cs.ucla.edu/~mastorakis/>
-* Eric Newberry           <http://cs.arizona.edu/~enewberry/>
-* Yukai Tu                <tuyukai1994@gmail.com>
-* João Pereira            <http://website.jpereira.co.uk>
-* Mathias Gibbens         <gibmat@cs.arizona.edu>
-* Yanbiao Li              <https://www.linkedin.com/pub/yanbiao-li/24/7a1/4ba>
-* Weiwei Liu              <https://www.linkedin.com/in/weiweiliu10>
-* Spencer Lee             <https://www.linkedin.com/in/spenlee>
+* Patrick Crowley <https://www.arl.wustl.edu/~pcrowley>
+* Christos Papadopoulos <https://www.cs.colostate.edu/~christos>
+* Giovanni Pau <http://www.cs.ucla.edu/~gpau/Giovanni_Paus_Home_Page/Home.html>
+* Tian Song <http://www.bit-netlab.org/songtian>
+* Lan Wang <http://www.cs.memphis.edu/~lanwang>
+* Beichuan Zhang <https://cs.arizona.edu/~bzhang>
+* Lixia Zhang <https://cs.ucla.edu/~lixia>
