functionals from Andrew