finally finished coding analyting gradients omg