add error codes and update README