Imperfect, but works.