add function gradient retate ...