Added more code for people to learn.