add `update` method