rewrite def.h