complete loop