diff --git a/common/dlcservice_interface.h b/common/dlcservice_interface.h
index 3524d50..70b74ab 100644
--- a/common/dlcservice_interface.h
+++ b/common/dlcservice_interface.h
@@ -30,17 +30,17 @@
  public:
   virtual ~DlcServiceInterface() = default;
 
-  // Returns true and a list of installed DLC module ids in |dlc_module_ids|.
+  // Returns true and a list of installed DLC ids in |dlc_ids|.
   // On failure it returns false.
-  virtual bool GetInstalled(std::vector<std::string>* dlc_module_ids) = 0;
+  virtual bool GetDlcsToUpdate(std::vector<std::string>* dlc_ids) = 0;
 
   // Returns true if dlcservice successfully handled the install completion
   // method call, otherwise false.
-  virtual bool InstallCompleted(const std::vector<std::string>& ids) = 0;
+  virtual bool InstallCompleted(const std::vector<std::string>& dlc_ids) = 0;
 
   // Returns true if dlcservice successfully handled the update completion
   // method call, otherwise false.
-  virtual bool UpdateCompleted(const std::vector<std::string>& ids) = 0;
+  virtual bool UpdateCompleted(const std::vector<std::string>& dlc_ids) = 0;
 
  protected:
   DlcServiceInterface() = default;
diff --git a/common/dlcservice_stub.cc b/common/dlcservice_stub.cc
index 3dcb2e0..2447147 100644
--- a/common/dlcservice_stub.cc
+++ b/common/dlcservice_stub.cc
@@ -27,16 +27,16 @@
   return std::make_unique<DlcServiceStub>();
 }
 
-bool DlcServiceStub::GetInstalled(std::vector<std::string>* dlc_module_ids) {
-  if (dlc_module_ids)
-    dlc_module_ids->clear();
+bool DlcServiceStub::GetDlcsToUpdate(vector<string>* dlc_ids) {
+  if (dlc_ids)
+    dlc_ids->clear();
   return true;
 }
 
-bool DlcServiceStub::InstallCompleted(const vector<string>& ids) {
+bool DlcServiceStub::InstallCompleted(const vector<string>& dlc_ids) {
   return true;
 }
-bool DlcServiceStub::UpdateCompleted(const vector<string>& ids) {
+bool DlcServiceStub::UpdateCompleted(const vector<string>& dlc_ids) {
   return true;
 }
 
diff --git a/common/dlcservice_stub.h b/common/dlcservice_stub.h
index 9b27971..bc803e8 100644
--- a/common/dlcservice_stub.h
+++ b/common/dlcservice_stub.h
@@ -31,9 +31,9 @@
   ~DlcServiceStub() = default;
 
   // BootControlInterface overrides.
-  bool GetInstalled(std::vector<std::string>* dlc_module_ids) override;
-  bool InstallCompleted(const std::vector<std::string>& ids) override;
-  bool UpdateCompleted(const std::vector<std::string>& ids) override;
+  bool GetDlcsToUpdate(std::vector<std::string>* dlc_ids) override;
+  bool InstallCompleted(const std::vector<std::string>& dlc_ids) override;
+  bool UpdateCompleted(const std::vector<std::string>& dlc_ids) override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DlcServiceStub);
