refactor concurrent loops