introduced SINGLETON-macro