Here's some work I've done.