add new implementation example of singleton