completed base functionals
a better document