partially implemented GA