semifunctional
not defined yet