add GA algorithm