At last, we have proper gradient :D