error catching and documentation