add softmax (tested)