feat: made explicit gradient function for 2d and 3d case, might be better to create a N dimensional case but icba honestly