added cat2sparse