refactor for GA v3 design