Note: How this example accomplish following points: