astrictively
not defined yet