Whoops! Bug fixes welcome. :-)