add exceptions check