 struct SALSAProblem : public ProblemBase
 {
 
-    static const bool MARK_PREDECESSORS     = true; // for SALSA algorithm, we need to track predecessor in advance so we set it to true.
-    static const bool ENABLE_IDEMPOTENCE    = false; // In SALSA data race during advance is not allowed.
+    static const bool MARK_PREDECESSORS     = true; // for SALSA algorithm, we need to track predecessors in Advance
+    static const bool ENABLE_IDEMPOTENCE    = false; // In SALSA, data races during Advance are not allowed.
 
     struct DataSlice
     {

        return retval;
    }

    // Since SALSA is an algorithm for bipartite graph, Init function takes two CSR graphs (hub graph,
    // the original graph, and auth graph, the reverse graph) stored on CPU, and initialize graph topology
    // data (by loading ProblemBase::Init(hub_graph, auth_graph)) and DataSlice on GPU.
    cudaError_t Init(
            const Csr<VertexId, Value, SizeT> &hub_graph,
            const Csr<VertexId, Value, SizeT> &auth_graph)

// This data structure (the "Problem" struct) stores the graph
// topology in CSR format and the frontier. All Problem structs
// inherit from the ProblemBase struct. Algorithm-specific data is
// stored in a "DataSlice".

template<
typename VertexId,
