I might be able to do this after this pull request is finished.