adding appStorage, enhance NSUserDefault category