http://www.creatinglearningcommunities.org/book/overview/miller2.htm