You call  hidden_ = self.h2h(input=hidden_) multiple times in your forward() method. I don’t think that make sense. Try doing it only once.
But yes, “adding more linear layers” is rather ambiguous. A arguably harmless addition would be to add a linear layer between self.h2o and self.softmax
Also note that you need an non-linear activation function between linear layers (e.g., ReLU). I mean it works without it, of course, but you essentially give up the benefits of additional layers.