update generic