[+]: use exceptions