create a exception class so errors from this gem can be caught in isolation