avoid catching Exception, can we catch more specific exception classes here?