Made a lot of updates to make it easier to understand the demo