new loop for nio