do exceptions totally differently
changes