First of all wat is ur budget??
If its low then i recomend:
get another 256mb of ram,
get a geforce 6600gt
Maybe another 40gig hard drive
If u've got alot to spend then i recomend:
2x512mb of pc3200 dual channel ram-geil, corsair, kngston etc!,
Geforce 6800gt,
a 200 gig hard drive
oh and a new processor depending on ur mobo!!