From http://docs.angularjs.org/tutorial