Surely this exists elsewhere.