implemented GA-C