add singletone and event