A work in progress by dave. I'm open to work!