added singleton class