Unfinished version. Just uploading now to get it started.