add regularization to prevent overfitting