I'm no expert, but maybe you will find this Wikipedia article helpful.