added functionals