include caught exception in wrapped exception
broke complex if statement into methods