I wanted to work on something similar earlier. But, I couldn't find a way to attack the problem. Hope yours will be successful.