http://www-128.ibm.com/developerworks/edu/os-dw-os-ruby1-i.html