tidy up error checks