finish compile