http://language.la.psu.edu/spcom497b/halliday.html