Major breaking change from 1.x, so treating keeping both versions for now. (adapted from 33f11be7) (adapted from 9e8dea79)