dict update is not recursive