add dense add sparse
minor changes