update like datastruct