reduce model
add pqueue
add s_connnected_component