Committing WIP (currently segfaults).