add spectral cluster and corresponding test