Commented code here and below.