Work in progress, check back later for updated post.