added adaptive sparsity learning