diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/RCBase.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/RCBase.h
index 0dfd0b5a9ac1c235b8422a7287fb9fc133395d7f..260f9b8d7cbe4bd2e6b28b77b28c0e5f2ed26e58 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/RCBase.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/RCBase.h
@@ -21,30 +21,35 @@
 
 #include <atomic>
 
-class RCBase 
-{
+class RCBase {
  public:
-  RCBase();
+  RCBase() = default;
 
   //	Increase the reference count
-  void ref () const;
+  void ref() const {
+     ++m_count; 
+  }
 
   //	Decreases the reference count.  When the reference count
   //	falls to zero, the object deletes itself.
-  void unref () const;
+  void unref () const {
+     if (--m_count == 0) delete this;
+  }
 
   //	Return the reference count.
-  unsigned int refCount () const;
+  unsigned int refCount () const {
+     return m_count.load();
+  }
 
  protected:
-  virtual ~RCBase();
+    virtual ~RCBase() = default;
 
  private:
-  RCBase(const RCBase &right);
-  RCBase & operator=(const RCBase &right);
+    RCBase(const RCBase &right) = delete;
+    RCBase & operator=(const RCBase &right) = delete;
 
-  //	The reference count
-  mutable std::atomic<unsigned> m_count;
+    //	The reference count
+    mutable std::atomic<unsigned> m_count{0};
 
 };
 
diff --git a/GeoModelCore/GeoModelKernel/src/RCBase.cxx b/GeoModelCore/GeoModelKernel/src/RCBase.cxx
deleted file mode 100755
index 368cf36799fafffa56e166165ea0cce59754ea7c..0000000000000000000000000000000000000000
--- a/GeoModelCore/GeoModelKernel/src/RCBase.cxx
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "GeoModelKernel/RCBase.h"
-#include <exception>
-
-RCBase::RCBase()
-  : m_count(0)
-{
-}
-
-RCBase::~RCBase()
-{
-}
-
-void RCBase::ref () const
-{
-  m_count++;
-}
-
-void RCBase::unref () const
-{
-  if (--m_count == 0) delete this;
-}
-
-unsigned int RCBase::refCount () const
-{
-  return m_count.load();
-}