better ewolution algorithm and clenup