shellwhich() improved