add better errors