update Singleton & add NSCoding, NSCopying for model