add gradient formation