functional view update