rewrite
refactor add_x(self->info)
refactor add_message(....,self->info)
reduce add_info lines