some updates to functionals