Add test implementation for gradient descent
Add another non working test
Add another (not working) test
Add step size calculation (offset optimization still not working)
Refactored code