Wikipedia has all of your answers.