refactor ga