improved errors