refactor error::add_error()