I think I'm done now. Why three commits for this, you might ask? I don't know.