update : new style of singleton.