It's long but well worth reading. It answers all your questions.