uploading second pattern: Singleton