I am surprised by such a comprehensive explanation and working code with every details touched and explained even if it is not related to the course ..just to help the pupils for theirs's future projects ..