refined 'update_asset' method