(#16) - exit earlier, minor optimization