V2 refactor - update branch