Practice the 'come' command on a really long, LIGHTWEIGHT lead like a thin minimal-stretch nylon cord with a carabiner on the end. The point is to make the dog forget you are holding his leash. Let him wander off, with NO tension on the leash, then say his name and 'COME' in yoru command voice. He won't get it at first, so give the lead a slight tug towards you until he is at your feet, saying 'COME' while you do it. When he gets to you, praise him a lot and give him a treat (retrievers + food= : D). Repeat many times, until the dog comes without any tension on the leash. Then practice!

Eventually you won't need a treat; in fact only use treats for the INITIAL reinforcement so that he does not come to expect them. My friend made a huge mistake training her lab by ALWAYS having treats, even after the behaviour was already understood and learned. Now she has a stubborn dog that will only work for food, and it's taking a long time to get her out of that mindset.