- correctly implement adagrad