add synchronized singleton