diff --git a/include/core/solver/solver_manager.h b/include/core/solver/solver_manager.h
index ae7e87429551b5e89184d109a44b7c5edcb5d302..240e563eb16412e4aa9a5af529db0af491060437 100644
--- a/include/core/solver/solver_manager.h
+++ b/include/core/solver/solver_manager.h
@@ -67,6 +67,10 @@ public:
 
   ProblemPtr getProblem();
 
+  virtual bool isRegistered(const StateBlockPtr& state_ptr) = 0;
+
+  virtual bool isRegistered(const FactorBasePtr& fac_ptr) = 0;
+
 protected:
 
   std::map<StateBlockPtr, Eigen::VectorXs> state_blocks_;