propose improvement for exception handling