Thank you for this informative explanation, and sample codes.