internal API upgrade

+ exceptions handling