avoiding exceptions