improve errors design