重覆function