allow sparse data
support different arcs for input data