V2 refactor for the fun of it