added interactivity and many other things