This looks like it might be very fun.