add some try/catch goodness