copy of v3 in preparation for v4 changes