add error_code.hpp