only refreshing once on viewDidAppear