using executeCollect instead collect