needed and not if