handle errors more explicitly.