compile finish