Implemented the GA approach.