Hi, Bridget's advice is right on. My trainer said to never use the word "come" as a command if you think that there is any possibility that the dog won't. This is a commant that must be obeyed...and it is the toughtest one to teach.
Our trainer also used a long lead...50 foot, and we would take the best treat possible as a reward, because this is so important you want to give the best reward. You have someone stand far away from you and you hold the end of the lead, that person is doing fun things with the dog, playing ball, petting, treating...and you say "come" and if the dog ignores you, gently pull him in to you.
Continue this every day, very often and keep rewarding.
One major mistake is when you say "come" to end something fun. The dog will see this as a bad thing and decide it is not in his best interests to come to you...so once he comes to you, keep playing, put a lead on him and run around the yard a bit, treat and play...so that he isn't connecting the word with an end of the good times.
And, never, never, say "come" out of anger and discipline him when he gets to you. This is a tough one...but so important. He should always see coming to you as the best possible thing in the world.