add better errorrs
passing test