added error_functions.h