update with catch