step 6.4 - better errors catching