only dirty nodes will be updated