resolve N+1 issue