remove all warnings
add def.hpp