v4 works with an alloc char that's alloc'd once