Refactored GA.