This is super intricate, but I'm actually really interested in it. I'll get to work on a CS.