using external exception library