There have been several contributions to that question. Let me direct you to posts 12, 23,31, and 130.