why are we catching any exception? what is this really for?