added persistence using NSUserDefaults