gradient usecases