Added lots of commits to make it easier to follow.