Interesting parser from http://cogitolearning.co.uk/?p=573