added NSUserDefaults persistence