Take a look at the FAQ,

I have wrote a section on this very thing...

Dwayne