Interface is most of the way there.