add wrap.c for robust