Work in progress.

Check back later.