I don't see a reason why this shouldn't work from a conceptual perspective, but I don't have time to debug this. It would help with finding a solution if you or someone else could analyze this so that we at least understand the problem better.