Please figure out some more specific questions, rather than asking the world to write an encyclopaedia for you, then come back when you're ready.