implementation of the three different exceptions