Initial implementation of Hirshbergs.

It isn't working as of yet. I'm looking into the bugs.