attempted interpolation
improved naive gradient descent