compile safe