why do we need a loop here if we're returning after 1 result?