Added some explanations and examples.