add feature: loop function