CHANGED EXCEPTION MESSAGE;
further refactor;