Added Builder Design Pattern and Singleton Design Pattern