more strict definitions