more v2 refactor