diff --git a/tools/nfdc/face-module.hpp b/tools/nfdc/face-module.hpp
index 27c089b..92c29b4 100644
--- a/tools/nfdc/face-module.hpp
+++ b/tools/nfdc/face-module.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2016,  Regents of the University of California,
+ * Copyright (c) 2014-2017,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -27,6 +27,7 @@
 #define NFD_TOOLS_NFDC_FACE_MODULE_HPP
 
 #include "module.hpp"
+#include "command-parser.hpp"
 
 namespace nfd {
 namespace tools {
@@ -40,13 +41,23 @@
 class FaceModule : public Module, noncopyable
 {
 public:
-  virtual void
+  /** \brief register 'face show', 'face create', 'face destroy' commands
+   */
+  static void
+  registerCommands(CommandParser& parser);
+
+  /** \brief the 'face show' command
+   */
+  static void
+  show(ExecuteContext& ctx);
+
+  void
   fetchStatus(Controller& controller,
               const function<void()>& onSuccess,
               const Controller::DatasetFailCallback& onFailure,
               const CommandOptions& options) override;
 
-  virtual void
+  void
   formatStatusXml(std::ostream& os) const override;
 
   /** \brief format a single status item as XML
@@ -56,15 +67,16 @@
   void
   formatItemXml(std::ostream& os, const FaceStatus& item) const;
 
-  virtual void
+  void
   formatStatusText(std::ostream& os) const override;
 
   /** \brief format a single status item as text
    *  \param os output stream
    *  \param item status item
+   *  \param wantMultiLine use multi-line style
    */
-  void
-  formatItemText(std::ostream& os, const FaceStatus& item) const;
+  static void
+  formatItemText(std::ostream& os, const FaceStatus& item, bool wantMultiLine);
 
 private:
   std::vector<FaceStatus> m_status;
