use fmt.Fprintf(os.Stderr, ...) for error output