I just wanted to make a comment on Mal'cev's theorem (if I could leave this as a comment, I would).
Mal'cev's paper is a great exposition of the theorem, as well as a lot of other related material, all written in a basic yet enlightening style.
Also, if you know a little commutative algebra (as in the Nullstellensatz, the one given in Eisenbud pg. 132), there is quick and easy proof of Mal'cev's theorem. I could sketch it if necessary, but I am right now in the process of LaTeX-ing it, so I'll probably just come back and post a link.
Steve