offline update