nonefficiently
not defined yet