Here is some reading material to get you started: