Added the singleton pattern