Implementation is 'done', but we're segfaulting on tests. I'm going to go to bed and try and fix it tomorrow.