DRY out compile