Your code seems fine. Yes the model is overfitting but at least the test accuracy is decent as well. To improve it you probably just want to keep messing around with your data transforms. Try different ones out and see if it improves.