At last! Something useful, but still not yet finished.