add gradient lib; add new composition; change all the timeouts to avoid using objectExpr