add singleton.cpp