more efficient live refreshing