yes, my concern is about the multiple loops (performance + DRY).