Sorry I haven't got much time on me but as a suggestion, some of you guys are giving very short answers which IMO, don't do the question justice. Not going into specifics, if it helps, when asked a question try to include a definition, and to further reinforce it (and to get the full marks)...