https://medium.com/@kalanamalshan98/the-singleton-design-pattern-a-complete-guide-for-beginners-and-experts-fe0e083d911e