first working implementation of elsner-charniak. Differs 1.8% of the time with
the original implementation.