use of singleton design pattern 3