Tianthai: You're doing exactly the right thing - so keep doing it! Your dog needs to learn to walk nicely on a leash, but he'll only learn that if he
only gets to walk when he walks nicely. If you keep on walking when he's pulling, why on earth would he stop pulling? It's worse than that, in fact - if you allow the walk to continue when the dog is behaving badly/pulling, you *teach* the dog to pull more. Effectively, you confirm his idea that pulling is what makes the walk happen, or helps him to get there faster.
LOL - and why shouldn't he think it? He pulls, you walk,
obviously it's pulling that makes the walk happen. That's in his mind.
Therefore, if you want a well behaved walker, you must never allow the walk to continue while he is pulling. Never allow him to believe that that's how he gets somewhere. Just stop walking every single time he pulls (exactly as you're doing) and do not continue until he calms down. Then proceed. You might only get a few steps, but the instant the dog puts weight into his collar to pull again, he *must* be penalised by having to stop.
If the dog finds that walks only happen when he walks nicely, then he will walk nicely. If he gets his way by pulling, then he will continue to pull. Ask yourself which is more important - getting the walk today/this week/this month done, or teaching the dog to walk nicely so that all the walks you take for the next 10 years will be pleasant ones? Obviously, it's the latter that is more important

So spending the time, frustrating as it may be, to teach loose leash walking from the outset is very much worth your while.
Some good articles on training loose leash walking here:
http://www.clickersolutions.com/articles/2002c/llw.htm
http://www.clickersolutions.com/articles/2002/pulling.htm
http://www.clickersolutions.com/articles/2001/lltotal.htm
http://www.clickersolutions.com/articles/2001b/beatree.htm