compiler work