https://www.avnishyadav.com/2018/08/day-1-implementing-linear-regression-in.html