add exceptions, changed exceptions structure