add error property, remove exceptions, handle more errors