implementing undefine.

this commit has a bug of header ordering.