restructure for v2