finish gpteam refactor