basic error handling.
minimal error handling just so failure isn't quiet.