lots of changes, especially completing the hierarchical softmax layer