Added some interactivity for better understanding