Technical details improved to match new implementation.