recursive update, forgot this case