add temporal Loop function