Be more verbose and add more error checks