even though there are exceptions