added some examples and explanations