handle compile properly