update according to dong's modify