     Csr<VertexId, Value, SizeT> &csr_graph,
     bool undirected,
     bool reversed,
-    bool quiet = false) {
+    bool quiet = false)
+{
     typedef Coo<VertexId, Value> EdgeTupleType;
 
     SizeT edges_read = -1;

    Csr<VertexId, Value, SizeT> &csr_graph,
    bool undirected,
    bool reversed,
    bool quiet = false) {
    FILE *_file = fopen(output_file, "r");
    if (_file) {
        fclose(_file);
        if (ReadCsrArrays<LOAD_VALUES>(
                output_file, csr_graph, undirected, reversed, quiet) != 0) {
            return -1;
        }
    } else {
        if (mm_filename == NULL) {
            // Read from stdin
            if (!quiet)
            {
                printf("Reading from stdin:\n");
            }
            if (ReadMarketStream<LOAD_VALUES>(
                        stdin, output_file, csr_graph, undirected, reversed) != 0) {
                return -1;
            }
        } else {
            // Read from file
            FILE *f_in = fopen(mm_filename, "r");
            if (f_in) {
                if (!quiet)
                {
                    printf("Reading from %s:\n", mm_filename);
                }
                if (ReadMarketStream<LOAD_VALUES>(
                            f_in, output_file, csr_graph,
                            undirected, reversed, quiet) != 0) {
                    fclose(f_in);
                    return -1;
                }
                fclose(f_in);
            } else  {
                perror("Unable to open file");
                return -1;
            }


            edges_read++;

            if (undirected)
            {
                // Go ahead and insert reverse edge
                coo[edges_read].row = ll_col - 1;       // zero-based array
                coo[edges_read].col = ll_row - 1;       // zero-based array

                if (LOAD_VALUES)
                {
                    coo[edges_read].val = ll_value;
                }

