be more easy to understand
make the loop part to independent method (for another refuctoring upcoming)