avoid confusion about _functions, function compiler