This looks interesting. I might post a CS.