updated regression with hyperparamter tuning