Added comments to explain all the different shapes and behaviors.